/*******************************************************************************
*	                           bsp cpu.c
*******************************************************************************/
#include "bsp.h"

//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI  
void wfi_set(void)
{
	__WFI();		  
}

/*关闭所有中断(但是不包括fault和NMI中断)
void intx_disable(void)
{
    __disable_irq();
}

//开启所有中断
void intx_enable(void)
{
    __enable_irq();
}
*/

//OS运行后，使用此接口配置中断
void nvic_irq_set( uint32_t iIRQn, uint32_t priority, uint8_t newst)
{
	intx_alloc();
	
	IRQn_Type IRQn = (IRQn_Type)iIRQn;
	
    /* disable interrupt */
    intx_disable();
    
    if(newst)
    {
        NVIC_SetPriority(IRQn, priority);
        NVIC_ClearPendingIRQ(IRQn);
        NVIC_EnableIRQ(IRQn);
    }
    else
    {
        NVIC_SetPriority(IRQn, priority);
        NVIC_ClearPendingIRQ(IRQn);
        NVIC_DisableIRQ(IRQn);
    }
    
    intx_enable();
}



